/* --------------------------------------------------- ABM ASIGNACIONES DOCENTES----------------------------------------------------------------*/
$(document).ready(function(){
	var oTable1 = $('#sample-table-2').dataTable({
		//Permite o no guardar el numero de pagina que estaba seleccionada mediante una cookie y al recargar no se pierde la seleccion
		"bStateSave":true,
		//Permite poner los elementos del combo para cambiar la cantidad de filas a visualizar
		"aLengthMenu": [[30, 10, 25, -1], [30, 10, 25, "Todos"]],
		//Cantidad de filas de la tabla por pagina
		"iDisplayLength":30,
		//Ordena las filas por el valor de la columna n de forma ascendente o descendente. La columna inicial es la 0
		"aaSorting": [[ 1, "asc" ]],
		//Para que los mensajes se muestren en español
		"oLanguage": {
			"sProcessing":   "Procesando...",
			"sLengthMenu":   "Mostrar _MENU_ registros",
			"sZeroRecords":  "No se encontraron resultados",
			"sInfo":         "Mostrando desde _START_ hasta _END_ de _TOTAL_ registros",
			"sInfoEmpty":    "Mostrando desde 0 hasta 0 de 0 registros",
			"sInfoFiltered": "(filtrado de _MAX_ registros en total)",
			"sInfoPostFix":  "",
			"sSearch":       "Buscar:",
			"sUrl":          "",
			"oPaginate": {
				"sFirst":    "Primero",
				"sPrevious": "Anterior",
				"sNext":     "Siguiente",
				"sLast":     "&Uacute;ltimo"
			}
		},
		
		"aoColumns": [
		  { "bSortable": false }, { "bSortable": true },  { "bSortable": true }, { "bSortable": true }, { "bSortable": true },  { "bSortable": true }, { "bSortable": true },
		  { "bSortable": true }
		]
	});
	
	$('table th input:checkbox').on('click' , function(){
		var that = this;
		$(this).closest('table').find('tr > td:first-child input:checkbox')
		.each(function(){
			this.checked = that.checked;
			$(this).closest('tr').toggleClass('selected');
		});
	});
});

//*Este metodo se llama cuando en el metodo consultar registros se cambia la seleccion en el filtro*/
function filtrarAsignaciones(tipo, url){
	var cicloLectivo = document.getElementById("cicloLectivo");
	var curso = document.getElementById("curso");
	var division = document.getElementById("division");
	var asignatura = document.getElementById("asignatura");
	var docente = document.getElementById("docente");
	
	if(tipo == 1){
		curso.value = 0;
		division.value = 0;
		asignatura.value = 0;		
	}
	
	if(tipo == 2){
		division.value = 0;
		asignatura.value = 0;
	}
	
	if(tipo == 3){
		asignatura.value = 0;
	}
	
	window.location = url + "/" + cicloLectivo.value + "/" + curso.value + "/" + division.value + "/" + asignatura.value + "/" + docente.value + ".html";
}

/*Este metodo se llama cuando en el metodo consultar cursos se aprieta el boton eliminar de cada registro*/
function eliminarAsignacion(url, nombreAsignatura, nombrePersona){
	var resp = confirm("Realmente desea eliminar a la asignaci\u00f3n: '"+nombreAsignatura+"' con '"+nombrePersona+"'?");
	if(resp == true){
		$("#cuerpo").load(url, function(){});
	}
}

//Este metodo se llama para filtrar los cursos en la pantalla crear asignacion cuando se cambia la seleccion del ciclo lectivo o turno
function filtrarCursos(url){
	var cicloLectivo = document.getElementById("cicloLectivo");
	$("#curso").load(url + "/" + cicloLectivo.value + "/0");
			
	$('#division').empty().append('<option value="0" selected="selected">Seleccionar</option>');
	$('#asignatura').empty().append('<option value="0" selected="selected">Seleccionar</option>');
}

//Este metodo se llama para filtrar las divisiones en la pantalla crear o modificar asignacion
function filtrarDivisiones(url){
	var curso = document.getElementById("curso");
	
	$("#division").load(url + "/" + curso.value);
	
	$('#asignatura').empty().append('<option value="0" selected="selected">Seleccionar</option>');
}

//Este metodo se llama para filtrar las asignaturas en la pantalla crear o modificar asignacion
function filtrarAsignaturas(url){
	var division = document.getElementById("division");
			
	$("#asignatura").load(url + "/" + division.value);
}

//Este metodo se llama cuando se tiene que limpiar el formulario
function limpiarCampos(){
	var cicloLectivo = document.getElementById("cicloLectivo");
	var curso = document.getElementById("curso");
	var division = document.getElementById("division");
	var asignatura = document.getElementById("asignatura");
	var docente = document.getElementById("docente");
	var cargo = document.getElementById("cargo");
	var estado = document.getElementById("estado");
	
	//Inicializamos todos campos a vacios.		
	cicloLectivo.value = "0";
	curso.value = "0";
	division.value = "0";
	asignatura.value = "0";
	docente.value = "0";
	cargo.value = "0";
	estado.value = "1";
	
	//Si habia algun campo marcado como incompleto lo ponemos a la normalidad	
	$("#campoAsignatura").removeClass("has-error");
	$("#campoDocente").removeClass("has-error");
	$("#campoCargoDocente").removeClass("has-error");
		
	//Le damos el foco al primer campo a completar
	$("#cicloLectivo").focus();
}

//Este metodo se llama cuando se tiene que crear una asignacion nueva
function crearAsignacion(){
	var cicloLectivo = document.getElementById("cicloLectivo");
	var curso = document.getElementById("curso");
	var division = document.getElementById("division");
	var asignatura = document.getElementById("asignatura");
	var docente = document.getElementById("docente");
	var cargo = document.getElementById("cargo");
	var estado = document.getElementById("estado");
	
	if(asignatura.value!="0" && docente.value!="0" && cargo.value!="0"){
		//Enviamos el formulario al servidor para que se procese la transaccion
		var formulario = document.getElementById("formAsignacion");
		formulario.submit();
		
		//Eliminamos a la asignatura para que no lo pueda volver a seleccionar ya que en general en los colegios solo un docente da cada asignatura	
		$("#asignatura option[value="+asignatura.value+"]").remove();
		//$("#docente option[value="+docente.value+"]").remove();
		
		//Inicializamos todos campos a vacios.
		//cicloLectivo.value = "0";
		//curso.value = "0";
		//division.value = "0";
		//asignatura.value = "0";
		//docente.value = "0";
		cargo.value = "0";
		estado.value = "1";
		
		//Si habia algun campo marcado como incompleto lo ponemos a la normalidad	
		$("#campoAsignatura").removeClass("has-error");
		$("#campoDocente").removeClass("has-error");
		$("#campoCargoDocente").removeClass("has-error");
			
		//Le damos el foco al primer campo a completar
		$("#asignatura").focus();
	}else{
		alert("Por favor, ingrese todos los datos de la asignaci\u00f3n que desea crear.");
		
		//Marcamos todos los campos imcompletos para que sea mas facil de visualizar.
		if(asignatura.value == "0") $("#campoAsignatura").addClass("has-error"); else $("#campoAsignatura").removeClass("has-error");
		if(docente.value == "0") $("#campoDocente").addClass("has-error"); else $("#campoDocente").removeClass("has-error");
		if(cargo.value == "0") $("#campoCargoDocente").addClass("has-error"); else $("#campoCargoDocente").removeClass("has-error");
	}
}

//Este metodo se llama cuando se tiene que modificar una asignacion
function modificarAsignacion(){
	var cicloLectivo = document.getElementById("cicloLectivo");
	var curso = document.getElementById("curso");
	var division = document.getElementById("division");
	var asignatura = document.getElementById("asignatura");
	var docente = document.getElementById("docente");
	var cargo = document.getElementById("cargo");
	var estado = document.getElementById("estado");
	
	if(asignatura.value!="0" && docente.value!="0" && cargo.value!="0"){
		//Enviamos el formulario al servidor para que se procese la transaccion
		var formulario = document.getElementById("formAsignacion");
		formulario.submit();
			
		//Si habia algun campo marcado como incompleto lo ponemos a la normalidad	
		$("#campoAsignatura").removeClass("has-error");
		$("#campoDocente").removeClass("has-error");
		$("#campoCargoDocente").removeClass("has-error");
			
		//Le damos el foco al primer campo a completar
		$("#asignatura").focus();
	}else{
		alert("Por favor, ingrese todos los datos de la asignaci\u00f3n que desea modificar.");
		
		//Marcamos todos los campos imcompletos para que sea mas facil de visualizar.
		if(asignatura.value == "0") $("#campoAsignatura").addClass("has-error"); else $("#campoAsignatura").removeClass("has-error");
		if(docente.value == "0") $("#campoDocente").addClass("has-error"); else $("#campoDocente").removeClass("has-error");
		if(cargo.value == "0") $("#campoCargoDocente").addClass("has-error"); else $("#campoCargoDocente").removeClass("has-error");
	}
}